// 引入必要的模块，添加错误处理以提高健壮性
let pathImport, pageHelper;

try {
	// 尝试加载path_import
	pathImport = require('../../../helpers/path_import.js');
	pageHelper = pathImport.pageHelper;
} catch (e) {
	console.error('加载path_import或pageHelper失败:', e);
	// 提供简单的实现
	pageHelper = {
		url: () => {},
		showModal: (msg) => console.error(msg),
		commListListener: () => {}
	};
}

// 加载其他必要模块
const ProjectBiz = require('../../../comm/biz/project_biz.js');

// 在try-catch前先声明变量
let PassportBiz;
try {
	PassportBiz = require('../../../config/passport_biz_config.js');
} catch (e) {
	console.error('加载PassportBiz失败:', e);
	PassportBiz = { 
		isLogin: () => false,
		getToken: () => ({ dept: '未知部门' })
	};
}

// 在try-catch前先声明变量
let FlowBiz;
try {
	FlowBiz = require('../../../biz/flow_biz.js');
} catch (e) {
	console.error('加载FlowBiz失败:', e);
	FlowBiz = { 
		forceSetLoginState: () => {},
		getCateMenu: () => []
	};
}

Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		isLogin: true,
		search: '',
		_params: {},
		isEdit: true,

		sortMenusDefaultIndex: -1
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: async function (options) {
		ProjectBiz.initPage(this);

		// 使用FlowBiz强制设置登录状态
		FlowBiz.forceSetLoginState(this, 'flow_my_checking');

		this._getSearchMenu();

		if (PassportBiz.isLogin()) {
			let token = PassportBiz.getToken();
			this.setData({ dept: token.dept });
		} else {
			console.error('[flow_my_checking] 登录状态设置失败');
		}
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {
		// 每次显示页面时强制设置登录状态
		FlowBiz.forceSetLoginState(this, 'flow_my_checking');
	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {
		// 确保登录状态
		FlowBiz.forceSetLoginState(this, 'flow_my_checking');
		wx.stopPullDownRefresh();
	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},


	url: async function (e) {
		// 确保登录状态
		FlowBiz.forceSetLoginState(this, 'flow_my_checking');
		pageHelper.url(e, this);
	},

	bindCommListCmpt: function (e) {
		pageHelper.commListListener(this, e);
	},

	/** 搜索菜单设置 */
	_getSearchMenu: function () {

		let sortItems1 = FlowBiz.getCateMenu('全部'); 

		this.setData({
			search: '',
			sortItems: [],
			sortMenus:sortItems1,
			isLoad: true
		});

	},

})